(0) Obligation:

Clauses:

tree_member(X, tree(X, X1, X2)).
tree_member(X, tree(X3, Left, X4)) :- tree_member(X, Left).
tree_member(X, tree(X5, X6, Right)) :- tree_member(X, Right).

Query: tree_member(a,g)

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph ICLP10.

(2) Obligation:

Clauses:

tree_memberA(T6, tree(T6, T7, T8)).
tree_memberA(T30, tree(T14, tree(T30, T31, T32), T16)).
tree_memberA(T53, tree(T14, tree(T50, T51, T52), T16)) :- tree_memberA(T53, T51).
tree_memberA(T80, tree(T14, tree(T77, T78, T79), T16)) :- tree_memberA(T80, T79).
tree_memberA(T106, tree(T103, T104, T105)) :- tree_memberA(T106, T105).
tree_memberA(T134, tree(T118, tree(T134, T135, T136), T120)).
tree_memberA(T157, tree(T118, tree(T154, T155, T156), T120)) :- tree_memberA(T157, T155).
tree_memberA(T184, tree(T118, tree(T181, T182, T183), T120)) :- tree_memberA(T184, T183).
tree_memberA(T210, tree(T207, T208, T209)) :- tree_memberA(T210, T209).
tree_memberA(T238, tree(T222, T223, tree(T238, T239, T240))).
tree_memberA(T261, tree(T222, T223, tree(T258, T259, T260))) :- tree_memberA(T261, T259).
tree_memberA(T280, tree(T222, T223, tree(T277, T278, T279))) :- tree_memberA(T280, T279).

Query: tree_memberA(a,g)

(3) PrologToPiTRSProof (SOUND transformation)

We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes:
tree_memberA_in: (f,b)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

tree_memberA_in_ag(T6, tree(T6, T7, T8)) → tree_memberA_out_ag(T6, tree(T6, T7, T8))
tree_memberA_in_ag(T30, tree(T14, tree(T30, T31, T32), T16)) → tree_memberA_out_ag(T30, tree(T14, tree(T30, T31, T32), T16))
tree_memberA_in_ag(T53, tree(T14, tree(T50, T51, T52), T16)) → U1_ag(T53, T14, T50, T51, T52, T16, tree_memberA_in_ag(T53, T51))
tree_memberA_in_ag(T80, tree(T14, tree(T77, T78, T79), T16)) → U2_ag(T80, T14, T77, T78, T79, T16, tree_memberA_in_ag(T80, T79))
tree_memberA_in_ag(T106, tree(T103, T104, T105)) → U3_ag(T106, T103, T104, T105, tree_memberA_in_ag(T106, T105))
tree_memberA_in_ag(T157, tree(T118, tree(T154, T155, T156), T120)) → U4_ag(T157, T118, T154, T155, T156, T120, tree_memberA_in_ag(T157, T155))
tree_memberA_in_ag(T184, tree(T118, tree(T181, T182, T183), T120)) → U5_ag(T184, T118, T181, T182, T183, T120, tree_memberA_in_ag(T184, T183))
tree_memberA_in_ag(T210, tree(T207, T208, T209)) → U6_ag(T210, T207, T208, T209, tree_memberA_in_ag(T210, T209))
tree_memberA_in_ag(T238, tree(T222, T223, tree(T238, T239, T240))) → tree_memberA_out_ag(T238, tree(T222, T223, tree(T238, T239, T240)))
tree_memberA_in_ag(T261, tree(T222, T223, tree(T258, T259, T260))) → U7_ag(T261, T222, T223, T258, T259, T260, tree_memberA_in_ag(T261, T259))
tree_memberA_in_ag(T280, tree(T222, T223, tree(T277, T278, T279))) → U8_ag(T280, T222, T223, T277, T278, T279, tree_memberA_in_ag(T280, T279))
U8_ag(T280, T222, T223, T277, T278, T279, tree_memberA_out_ag(T280, T279)) → tree_memberA_out_ag(T280, tree(T222, T223, tree(T277, T278, T279)))
U7_ag(T261, T222, T223, T258, T259, T260, tree_memberA_out_ag(T261, T259)) → tree_memberA_out_ag(T261, tree(T222, T223, tree(T258, T259, T260)))
U6_ag(T210, T207, T208, T209, tree_memberA_out_ag(T210, T209)) → tree_memberA_out_ag(T210, tree(T207, T208, T209))
U5_ag(T184, T118, T181, T182, T183, T120, tree_memberA_out_ag(T184, T183)) → tree_memberA_out_ag(T184, tree(T118, tree(T181, T182, T183), T120))
U4_ag(T157, T118, T154, T155, T156, T120, tree_memberA_out_ag(T157, T155)) → tree_memberA_out_ag(T157, tree(T118, tree(T154, T155, T156), T120))
U3_ag(T106, T103, T104, T105, tree_memberA_out_ag(T106, T105)) → tree_memberA_out_ag(T106, tree(T103, T104, T105))
U2_ag(T80, T14, T77, T78, T79, T16, tree_memberA_out_ag(T80, T79)) → tree_memberA_out_ag(T80, tree(T14, tree(T77, T78, T79), T16))
U1_ag(T53, T14, T50, T51, T52, T16, tree_memberA_out_ag(T53, T51)) → tree_memberA_out_ag(T53, tree(T14, tree(T50, T51, T52), T16))

The argument filtering Pi contains the following mapping:
tree_memberA_in_ag(x1, x2)  =  tree_memberA_in_ag(x2)
tree(x1, x2, x3)  =  tree(x1, x2, x3)
tree_memberA_out_ag(x1, x2)  =  tree_memberA_out_ag(x1)
U1_ag(x1, x2, x3, x4, x5, x6, x7)  =  U1_ag(x7)
U2_ag(x1, x2, x3, x4, x5, x6, x7)  =  U2_ag(x7)
U3_ag(x1, x2, x3, x4, x5)  =  U3_ag(x5)
U4_ag(x1, x2, x3, x4, x5, x6, x7)  =  U4_ag(x7)
U5_ag(x1, x2, x3, x4, x5, x6, x7)  =  U5_ag(x7)
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5, x6, x7)  =  U7_ag(x7)
U8_ag(x1, x2, x3, x4, x5, x6, x7)  =  U8_ag(x7)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

tree_memberA_in_ag(T6, tree(T6, T7, T8)) → tree_memberA_out_ag(T6, tree(T6, T7, T8))
tree_memberA_in_ag(T30, tree(T14, tree(T30, T31, T32), T16)) → tree_memberA_out_ag(T30, tree(T14, tree(T30, T31, T32), T16))
tree_memberA_in_ag(T53, tree(T14, tree(T50, T51, T52), T16)) → U1_ag(T53, T14, T50, T51, T52, T16, tree_memberA_in_ag(T53, T51))
tree_memberA_in_ag(T80, tree(T14, tree(T77, T78, T79), T16)) → U2_ag(T80, T14, T77, T78, T79, T16, tree_memberA_in_ag(T80, T79))
tree_memberA_in_ag(T106, tree(T103, T104, T105)) → U3_ag(T106, T103, T104, T105, tree_memberA_in_ag(T106, T105))
tree_memberA_in_ag(T157, tree(T118, tree(T154, T155, T156), T120)) → U4_ag(T157, T118, T154, T155, T156, T120, tree_memberA_in_ag(T157, T155))
tree_memberA_in_ag(T184, tree(T118, tree(T181, T182, T183), T120)) → U5_ag(T184, T118, T181, T182, T183, T120, tree_memberA_in_ag(T184, T183))
tree_memberA_in_ag(T210, tree(T207, T208, T209)) → U6_ag(T210, T207, T208, T209, tree_memberA_in_ag(T210, T209))
tree_memberA_in_ag(T238, tree(T222, T223, tree(T238, T239, T240))) → tree_memberA_out_ag(T238, tree(T222, T223, tree(T238, T239, T240)))
tree_memberA_in_ag(T261, tree(T222, T223, tree(T258, T259, T260))) → U7_ag(T261, T222, T223, T258, T259, T260, tree_memberA_in_ag(T261, T259))
tree_memberA_in_ag(T280, tree(T222, T223, tree(T277, T278, T279))) → U8_ag(T280, T222, T223, T277, T278, T279, tree_memberA_in_ag(T280, T279))
U8_ag(T280, T222, T223, T277, T278, T279, tree_memberA_out_ag(T280, T279)) → tree_memberA_out_ag(T280, tree(T222, T223, tree(T277, T278, T279)))
U7_ag(T261, T222, T223, T258, T259, T260, tree_memberA_out_ag(T261, T259)) → tree_memberA_out_ag(T261, tree(T222, T223, tree(T258, T259, T260)))
U6_ag(T210, T207, T208, T209, tree_memberA_out_ag(T210, T209)) → tree_memberA_out_ag(T210, tree(T207, T208, T209))
U5_ag(T184, T118, T181, T182, T183, T120, tree_memberA_out_ag(T184, T183)) → tree_memberA_out_ag(T184, tree(T118, tree(T181, T182, T183), T120))
U4_ag(T157, T118, T154, T155, T156, T120, tree_memberA_out_ag(T157, T155)) → tree_memberA_out_ag(T157, tree(T118, tree(T154, T155, T156), T120))
U3_ag(T106, T103, T104, T105, tree_memberA_out_ag(T106, T105)) → tree_memberA_out_ag(T106, tree(T103, T104, T105))
U2_ag(T80, T14, T77, T78, T79, T16, tree_memberA_out_ag(T80, T79)) → tree_memberA_out_ag(T80, tree(T14, tree(T77, T78, T79), T16))
U1_ag(T53, T14, T50, T51, T52, T16, tree_memberA_out_ag(T53, T51)) → tree_memberA_out_ag(T53, tree(T14, tree(T50, T51, T52), T16))

The argument filtering Pi contains the following mapping:
tree_memberA_in_ag(x1, x2)  =  tree_memberA_in_ag(x2)
tree(x1, x2, x3)  =  tree(x1, x2, x3)
tree_memberA_out_ag(x1, x2)  =  tree_memberA_out_ag(x1)
U1_ag(x1, x2, x3, x4, x5, x6, x7)  =  U1_ag(x7)
U2_ag(x1, x2, x3, x4, x5, x6, x7)  =  U2_ag(x7)
U3_ag(x1, x2, x3, x4, x5)  =  U3_ag(x5)
U4_ag(x1, x2, x3, x4, x5, x6, x7)  =  U4_ag(x7)
U5_ag(x1, x2, x3, x4, x5, x6, x7)  =  U5_ag(x7)
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5, x6, x7)  =  U7_ag(x7)
U8_ag(x1, x2, x3, x4, x5, x6, x7)  =  U8_ag(x7)

(5) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

TREE_MEMBERA_IN_AG(T53, tree(T14, tree(T50, T51, T52), T16)) → U1_AG(T53, T14, T50, T51, T52, T16, tree_memberA_in_ag(T53, T51))
TREE_MEMBERA_IN_AG(T53, tree(T14, tree(T50, T51, T52), T16)) → TREE_MEMBERA_IN_AG(T53, T51)
TREE_MEMBERA_IN_AG(T80, tree(T14, tree(T77, T78, T79), T16)) → U2_AG(T80, T14, T77, T78, T79, T16, tree_memberA_in_ag(T80, T79))
TREE_MEMBERA_IN_AG(T80, tree(T14, tree(T77, T78, T79), T16)) → TREE_MEMBERA_IN_AG(T80, T79)
TREE_MEMBERA_IN_AG(T106, tree(T103, T104, T105)) → U3_AG(T106, T103, T104, T105, tree_memberA_in_ag(T106, T105))
TREE_MEMBERA_IN_AG(T106, tree(T103, T104, T105)) → TREE_MEMBERA_IN_AG(T106, T105)
TREE_MEMBERA_IN_AG(T157, tree(T118, tree(T154, T155, T156), T120)) → U4_AG(T157, T118, T154, T155, T156, T120, tree_memberA_in_ag(T157, T155))
TREE_MEMBERA_IN_AG(T184, tree(T118, tree(T181, T182, T183), T120)) → U5_AG(T184, T118, T181, T182, T183, T120, tree_memberA_in_ag(T184, T183))
TREE_MEMBERA_IN_AG(T210, tree(T207, T208, T209)) → U6_AG(T210, T207, T208, T209, tree_memberA_in_ag(T210, T209))
TREE_MEMBERA_IN_AG(T261, tree(T222, T223, tree(T258, T259, T260))) → U7_AG(T261, T222, T223, T258, T259, T260, tree_memberA_in_ag(T261, T259))
TREE_MEMBERA_IN_AG(T261, tree(T222, T223, tree(T258, T259, T260))) → TREE_MEMBERA_IN_AG(T261, T259)
TREE_MEMBERA_IN_AG(T280, tree(T222, T223, tree(T277, T278, T279))) → U8_AG(T280, T222, T223, T277, T278, T279, tree_memberA_in_ag(T280, T279))
TREE_MEMBERA_IN_AG(T280, tree(T222, T223, tree(T277, T278, T279))) → TREE_MEMBERA_IN_AG(T280, T279)

The TRS R consists of the following rules:

tree_memberA_in_ag(T6, tree(T6, T7, T8)) → tree_memberA_out_ag(T6, tree(T6, T7, T8))
tree_memberA_in_ag(T30, tree(T14, tree(T30, T31, T32), T16)) → tree_memberA_out_ag(T30, tree(T14, tree(T30, T31, T32), T16))
tree_memberA_in_ag(T53, tree(T14, tree(T50, T51, T52), T16)) → U1_ag(T53, T14, T50, T51, T52, T16, tree_memberA_in_ag(T53, T51))
tree_memberA_in_ag(T80, tree(T14, tree(T77, T78, T79), T16)) → U2_ag(T80, T14, T77, T78, T79, T16, tree_memberA_in_ag(T80, T79))
tree_memberA_in_ag(T106, tree(T103, T104, T105)) → U3_ag(T106, T103, T104, T105, tree_memberA_in_ag(T106, T105))
tree_memberA_in_ag(T157, tree(T118, tree(T154, T155, T156), T120)) → U4_ag(T157, T118, T154, T155, T156, T120, tree_memberA_in_ag(T157, T155))
tree_memberA_in_ag(T184, tree(T118, tree(T181, T182, T183), T120)) → U5_ag(T184, T118, T181, T182, T183, T120, tree_memberA_in_ag(T184, T183))
tree_memberA_in_ag(T210, tree(T207, T208, T209)) → U6_ag(T210, T207, T208, T209, tree_memberA_in_ag(T210, T209))
tree_memberA_in_ag(T238, tree(T222, T223, tree(T238, T239, T240))) → tree_memberA_out_ag(T238, tree(T222, T223, tree(T238, T239, T240)))
tree_memberA_in_ag(T261, tree(T222, T223, tree(T258, T259, T260))) → U7_ag(T261, T222, T223, T258, T259, T260, tree_memberA_in_ag(T261, T259))
tree_memberA_in_ag(T280, tree(T222, T223, tree(T277, T278, T279))) → U8_ag(T280, T222, T223, T277, T278, T279, tree_memberA_in_ag(T280, T279))
U8_ag(T280, T222, T223, T277, T278, T279, tree_memberA_out_ag(T280, T279)) → tree_memberA_out_ag(T280, tree(T222, T223, tree(T277, T278, T279)))
U7_ag(T261, T222, T223, T258, T259, T260, tree_memberA_out_ag(T261, T259)) → tree_memberA_out_ag(T261, tree(T222, T223, tree(T258, T259, T260)))
U6_ag(T210, T207, T208, T209, tree_memberA_out_ag(T210, T209)) → tree_memberA_out_ag(T210, tree(T207, T208, T209))
U5_ag(T184, T118, T181, T182, T183, T120, tree_memberA_out_ag(T184, T183)) → tree_memberA_out_ag(T184, tree(T118, tree(T181, T182, T183), T120))
U4_ag(T157, T118, T154, T155, T156, T120, tree_memberA_out_ag(T157, T155)) → tree_memberA_out_ag(T157, tree(T118, tree(T154, T155, T156), T120))
U3_ag(T106, T103, T104, T105, tree_memberA_out_ag(T106, T105)) → tree_memberA_out_ag(T106, tree(T103, T104, T105))
U2_ag(T80, T14, T77, T78, T79, T16, tree_memberA_out_ag(T80, T79)) → tree_memberA_out_ag(T80, tree(T14, tree(T77, T78, T79), T16))
U1_ag(T53, T14, T50, T51, T52, T16, tree_memberA_out_ag(T53, T51)) → tree_memberA_out_ag(T53, tree(T14, tree(T50, T51, T52), T16))

The argument filtering Pi contains the following mapping:
tree_memberA_in_ag(x1, x2)  =  tree_memberA_in_ag(x2)
tree(x1, x2, x3)  =  tree(x1, x2, x3)
tree_memberA_out_ag(x1, x2)  =  tree_memberA_out_ag(x1)
U1_ag(x1, x2, x3, x4, x5, x6, x7)  =  U1_ag(x7)
U2_ag(x1, x2, x3, x4, x5, x6, x7)  =  U2_ag(x7)
U3_ag(x1, x2, x3, x4, x5)  =  U3_ag(x5)
U4_ag(x1, x2, x3, x4, x5, x6, x7)  =  U4_ag(x7)
U5_ag(x1, x2, x3, x4, x5, x6, x7)  =  U5_ag(x7)
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5, x6, x7)  =  U7_ag(x7)
U8_ag(x1, x2, x3, x4, x5, x6, x7)  =  U8_ag(x7)
TREE_MEMBERA_IN_AG(x1, x2)  =  TREE_MEMBERA_IN_AG(x2)
U1_AG(x1, x2, x3, x4, x5, x6, x7)  =  U1_AG(x7)
U2_AG(x1, x2, x3, x4, x5, x6, x7)  =  U2_AG(x7)
U3_AG(x1, x2, x3, x4, x5)  =  U3_AG(x5)
U4_AG(x1, x2, x3, x4, x5, x6, x7)  =  U4_AG(x7)
U5_AG(x1, x2, x3, x4, x5, x6, x7)  =  U5_AG(x7)
U6_AG(x1, x2, x3, x4, x5)  =  U6_AG(x5)
U7_AG(x1, x2, x3, x4, x5, x6, x7)  =  U7_AG(x7)
U8_AG(x1, x2, x3, x4, x5, x6, x7)  =  U8_AG(x7)

We have to consider all (P,R,Pi)-chains

(6) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

TREE_MEMBERA_IN_AG(T53, tree(T14, tree(T50, T51, T52), T16)) → U1_AG(T53, T14, T50, T51, T52, T16, tree_memberA_in_ag(T53, T51))
TREE_MEMBERA_IN_AG(T53, tree(T14, tree(T50, T51, T52), T16)) → TREE_MEMBERA_IN_AG(T53, T51)
TREE_MEMBERA_IN_AG(T80, tree(T14, tree(T77, T78, T79), T16)) → U2_AG(T80, T14, T77, T78, T79, T16, tree_memberA_in_ag(T80, T79))
TREE_MEMBERA_IN_AG(T80, tree(T14, tree(T77, T78, T79), T16)) → TREE_MEMBERA_IN_AG(T80, T79)
TREE_MEMBERA_IN_AG(T106, tree(T103, T104, T105)) → U3_AG(T106, T103, T104, T105, tree_memberA_in_ag(T106, T105))
TREE_MEMBERA_IN_AG(T106, tree(T103, T104, T105)) → TREE_MEMBERA_IN_AG(T106, T105)
TREE_MEMBERA_IN_AG(T157, tree(T118, tree(T154, T155, T156), T120)) → U4_AG(T157, T118, T154, T155, T156, T120, tree_memberA_in_ag(T157, T155))
TREE_MEMBERA_IN_AG(T184, tree(T118, tree(T181, T182, T183), T120)) → U5_AG(T184, T118, T181, T182, T183, T120, tree_memberA_in_ag(T184, T183))
TREE_MEMBERA_IN_AG(T210, tree(T207, T208, T209)) → U6_AG(T210, T207, T208, T209, tree_memberA_in_ag(T210, T209))
TREE_MEMBERA_IN_AG(T261, tree(T222, T223, tree(T258, T259, T260))) → U7_AG(T261, T222, T223, T258, T259, T260, tree_memberA_in_ag(T261, T259))
TREE_MEMBERA_IN_AG(T261, tree(T222, T223, tree(T258, T259, T260))) → TREE_MEMBERA_IN_AG(T261, T259)
TREE_MEMBERA_IN_AG(T280, tree(T222, T223, tree(T277, T278, T279))) → U8_AG(T280, T222, T223, T277, T278, T279, tree_memberA_in_ag(T280, T279))
TREE_MEMBERA_IN_AG(T280, tree(T222, T223, tree(T277, T278, T279))) → TREE_MEMBERA_IN_AG(T280, T279)

The TRS R consists of the following rules:

tree_memberA_in_ag(T6, tree(T6, T7, T8)) → tree_memberA_out_ag(T6, tree(T6, T7, T8))
tree_memberA_in_ag(T30, tree(T14, tree(T30, T31, T32), T16)) → tree_memberA_out_ag(T30, tree(T14, tree(T30, T31, T32), T16))
tree_memberA_in_ag(T53, tree(T14, tree(T50, T51, T52), T16)) → U1_ag(T53, T14, T50, T51, T52, T16, tree_memberA_in_ag(T53, T51))
tree_memberA_in_ag(T80, tree(T14, tree(T77, T78, T79), T16)) → U2_ag(T80, T14, T77, T78, T79, T16, tree_memberA_in_ag(T80, T79))
tree_memberA_in_ag(T106, tree(T103, T104, T105)) → U3_ag(T106, T103, T104, T105, tree_memberA_in_ag(T106, T105))
tree_memberA_in_ag(T157, tree(T118, tree(T154, T155, T156), T120)) → U4_ag(T157, T118, T154, T155, T156, T120, tree_memberA_in_ag(T157, T155))
tree_memberA_in_ag(T184, tree(T118, tree(T181, T182, T183), T120)) → U5_ag(T184, T118, T181, T182, T183, T120, tree_memberA_in_ag(T184, T183))
tree_memberA_in_ag(T210, tree(T207, T208, T209)) → U6_ag(T210, T207, T208, T209, tree_memberA_in_ag(T210, T209))
tree_memberA_in_ag(T238, tree(T222, T223, tree(T238, T239, T240))) → tree_memberA_out_ag(T238, tree(T222, T223, tree(T238, T239, T240)))
tree_memberA_in_ag(T261, tree(T222, T223, tree(T258, T259, T260))) → U7_ag(T261, T222, T223, T258, T259, T260, tree_memberA_in_ag(T261, T259))
tree_memberA_in_ag(T280, tree(T222, T223, tree(T277, T278, T279))) → U8_ag(T280, T222, T223, T277, T278, T279, tree_memberA_in_ag(T280, T279))
U8_ag(T280, T222, T223, T277, T278, T279, tree_memberA_out_ag(T280, T279)) → tree_memberA_out_ag(T280, tree(T222, T223, tree(T277, T278, T279)))
U7_ag(T261, T222, T223, T258, T259, T260, tree_memberA_out_ag(T261, T259)) → tree_memberA_out_ag(T261, tree(T222, T223, tree(T258, T259, T260)))
U6_ag(T210, T207, T208, T209, tree_memberA_out_ag(T210, T209)) → tree_memberA_out_ag(T210, tree(T207, T208, T209))
U5_ag(T184, T118, T181, T182, T183, T120, tree_memberA_out_ag(T184, T183)) → tree_memberA_out_ag(T184, tree(T118, tree(T181, T182, T183), T120))
U4_ag(T157, T118, T154, T155, T156, T120, tree_memberA_out_ag(T157, T155)) → tree_memberA_out_ag(T157, tree(T118, tree(T154, T155, T156), T120))
U3_ag(T106, T103, T104, T105, tree_memberA_out_ag(T106, T105)) → tree_memberA_out_ag(T106, tree(T103, T104, T105))
U2_ag(T80, T14, T77, T78, T79, T16, tree_memberA_out_ag(T80, T79)) → tree_memberA_out_ag(T80, tree(T14, tree(T77, T78, T79), T16))
U1_ag(T53, T14, T50, T51, T52, T16, tree_memberA_out_ag(T53, T51)) → tree_memberA_out_ag(T53, tree(T14, tree(T50, T51, T52), T16))

The argument filtering Pi contains the following mapping:
tree_memberA_in_ag(x1, x2)  =  tree_memberA_in_ag(x2)
tree(x1, x2, x3)  =  tree(x1, x2, x3)
tree_memberA_out_ag(x1, x2)  =  tree_memberA_out_ag(x1)
U1_ag(x1, x2, x3, x4, x5, x6, x7)  =  U1_ag(x7)
U2_ag(x1, x2, x3, x4, x5, x6, x7)  =  U2_ag(x7)
U3_ag(x1, x2, x3, x4, x5)  =  U3_ag(x5)
U4_ag(x1, x2, x3, x4, x5, x6, x7)  =  U4_ag(x7)
U5_ag(x1, x2, x3, x4, x5, x6, x7)  =  U5_ag(x7)
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5, x6, x7)  =  U7_ag(x7)
U8_ag(x1, x2, x3, x4, x5, x6, x7)  =  U8_ag(x7)
TREE_MEMBERA_IN_AG(x1, x2)  =  TREE_MEMBERA_IN_AG(x2)
U1_AG(x1, x2, x3, x4, x5, x6, x7)  =  U1_AG(x7)
U2_AG(x1, x2, x3, x4, x5, x6, x7)  =  U2_AG(x7)
U3_AG(x1, x2, x3, x4, x5)  =  U3_AG(x5)
U4_AG(x1, x2, x3, x4, x5, x6, x7)  =  U4_AG(x7)
U5_AG(x1, x2, x3, x4, x5, x6, x7)  =  U5_AG(x7)
U6_AG(x1, x2, x3, x4, x5)  =  U6_AG(x5)
U7_AG(x1, x2, x3, x4, x5, x6, x7)  =  U7_AG(x7)
U8_AG(x1, x2, x3, x4, x5, x6, x7)  =  U8_AG(x7)

We have to consider all (P,R,Pi)-chains

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 8 less nodes.

(8) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

TREE_MEMBERA_IN_AG(T80, tree(T14, tree(T77, T78, T79), T16)) → TREE_MEMBERA_IN_AG(T80, T79)
TREE_MEMBERA_IN_AG(T53, tree(T14, tree(T50, T51, T52), T16)) → TREE_MEMBERA_IN_AG(T53, T51)
TREE_MEMBERA_IN_AG(T106, tree(T103, T104, T105)) → TREE_MEMBERA_IN_AG(T106, T105)
TREE_MEMBERA_IN_AG(T261, tree(T222, T223, tree(T258, T259, T260))) → TREE_MEMBERA_IN_AG(T261, T259)
TREE_MEMBERA_IN_AG(T280, tree(T222, T223, tree(T277, T278, T279))) → TREE_MEMBERA_IN_AG(T280, T279)

The TRS R consists of the following rules:

tree_memberA_in_ag(T6, tree(T6, T7, T8)) → tree_memberA_out_ag(T6, tree(T6, T7, T8))
tree_memberA_in_ag(T30, tree(T14, tree(T30, T31, T32), T16)) → tree_memberA_out_ag(T30, tree(T14, tree(T30, T31, T32), T16))
tree_memberA_in_ag(T53, tree(T14, tree(T50, T51, T52), T16)) → U1_ag(T53, T14, T50, T51, T52, T16, tree_memberA_in_ag(T53, T51))
tree_memberA_in_ag(T80, tree(T14, tree(T77, T78, T79), T16)) → U2_ag(T80, T14, T77, T78, T79, T16, tree_memberA_in_ag(T80, T79))
tree_memberA_in_ag(T106, tree(T103, T104, T105)) → U3_ag(T106, T103, T104, T105, tree_memberA_in_ag(T106, T105))
tree_memberA_in_ag(T157, tree(T118, tree(T154, T155, T156), T120)) → U4_ag(T157, T118, T154, T155, T156, T120, tree_memberA_in_ag(T157, T155))
tree_memberA_in_ag(T184, tree(T118, tree(T181, T182, T183), T120)) → U5_ag(T184, T118, T181, T182, T183, T120, tree_memberA_in_ag(T184, T183))
tree_memberA_in_ag(T210, tree(T207, T208, T209)) → U6_ag(T210, T207, T208, T209, tree_memberA_in_ag(T210, T209))
tree_memberA_in_ag(T238, tree(T222, T223, tree(T238, T239, T240))) → tree_memberA_out_ag(T238, tree(T222, T223, tree(T238, T239, T240)))
tree_memberA_in_ag(T261, tree(T222, T223, tree(T258, T259, T260))) → U7_ag(T261, T222, T223, T258, T259, T260, tree_memberA_in_ag(T261, T259))
tree_memberA_in_ag(T280, tree(T222, T223, tree(T277, T278, T279))) → U8_ag(T280, T222, T223, T277, T278, T279, tree_memberA_in_ag(T280, T279))
U8_ag(T280, T222, T223, T277, T278, T279, tree_memberA_out_ag(T280, T279)) → tree_memberA_out_ag(T280, tree(T222, T223, tree(T277, T278, T279)))
U7_ag(T261, T222, T223, T258, T259, T260, tree_memberA_out_ag(T261, T259)) → tree_memberA_out_ag(T261, tree(T222, T223, tree(T258, T259, T260)))
U6_ag(T210, T207, T208, T209, tree_memberA_out_ag(T210, T209)) → tree_memberA_out_ag(T210, tree(T207, T208, T209))
U5_ag(T184, T118, T181, T182, T183, T120, tree_memberA_out_ag(T184, T183)) → tree_memberA_out_ag(T184, tree(T118, tree(T181, T182, T183), T120))
U4_ag(T157, T118, T154, T155, T156, T120, tree_memberA_out_ag(T157, T155)) → tree_memberA_out_ag(T157, tree(T118, tree(T154, T155, T156), T120))
U3_ag(T106, T103, T104, T105, tree_memberA_out_ag(T106, T105)) → tree_memberA_out_ag(T106, tree(T103, T104, T105))
U2_ag(T80, T14, T77, T78, T79, T16, tree_memberA_out_ag(T80, T79)) → tree_memberA_out_ag(T80, tree(T14, tree(T77, T78, T79), T16))
U1_ag(T53, T14, T50, T51, T52, T16, tree_memberA_out_ag(T53, T51)) → tree_memberA_out_ag(T53, tree(T14, tree(T50, T51, T52), T16))

The argument filtering Pi contains the following mapping:
tree_memberA_in_ag(x1, x2)  =  tree_memberA_in_ag(x2)
tree(x1, x2, x3)  =  tree(x1, x2, x3)
tree_memberA_out_ag(x1, x2)  =  tree_memberA_out_ag(x1)
U1_ag(x1, x2, x3, x4, x5, x6, x7)  =  U1_ag(x7)
U2_ag(x1, x2, x3, x4, x5, x6, x7)  =  U2_ag(x7)
U3_ag(x1, x2, x3, x4, x5)  =  U3_ag(x5)
U4_ag(x1, x2, x3, x4, x5, x6, x7)  =  U4_ag(x7)
U5_ag(x1, x2, x3, x4, x5, x6, x7)  =  U5_ag(x7)
U6_ag(x1, x2, x3, x4, x5)  =  U6_ag(x5)
U7_ag(x1, x2, x3, x4, x5, x6, x7)  =  U7_ag(x7)
U8_ag(x1, x2, x3, x4, x5, x6, x7)  =  U8_ag(x7)
TREE_MEMBERA_IN_AG(x1, x2)  =  TREE_MEMBERA_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(9) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(10) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

TREE_MEMBERA_IN_AG(T80, tree(T14, tree(T77, T78, T79), T16)) → TREE_MEMBERA_IN_AG(T80, T79)
TREE_MEMBERA_IN_AG(T53, tree(T14, tree(T50, T51, T52), T16)) → TREE_MEMBERA_IN_AG(T53, T51)
TREE_MEMBERA_IN_AG(T106, tree(T103, T104, T105)) → TREE_MEMBERA_IN_AG(T106, T105)
TREE_MEMBERA_IN_AG(T261, tree(T222, T223, tree(T258, T259, T260))) → TREE_MEMBERA_IN_AG(T261, T259)
TREE_MEMBERA_IN_AG(T280, tree(T222, T223, tree(T277, T278, T279))) → TREE_MEMBERA_IN_AG(T280, T279)

R is empty.
The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
TREE_MEMBERA_IN_AG(x1, x2)  =  TREE_MEMBERA_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(11) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(12) Obligation:

Q DP problem:
The TRS P consists of the following rules:

TREE_MEMBERA_IN_AG(tree(T14, tree(T77, T78, T79), T16)) → TREE_MEMBERA_IN_AG(T79)
TREE_MEMBERA_IN_AG(tree(T14, tree(T50, T51, T52), T16)) → TREE_MEMBERA_IN_AG(T51)
TREE_MEMBERA_IN_AG(tree(T103, T104, T105)) → TREE_MEMBERA_IN_AG(T105)
TREE_MEMBERA_IN_AG(tree(T222, T223, tree(T258, T259, T260))) → TREE_MEMBERA_IN_AG(T259)
TREE_MEMBERA_IN_AG(tree(T222, T223, tree(T277, T278, T279))) → TREE_MEMBERA_IN_AG(T279)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(13) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • TREE_MEMBERA_IN_AG(tree(T14, tree(T77, T78, T79), T16)) → TREE_MEMBERA_IN_AG(T79)
    The graph contains the following edges 1 > 1

  • TREE_MEMBERA_IN_AG(tree(T14, tree(T50, T51, T52), T16)) → TREE_MEMBERA_IN_AG(T51)
    The graph contains the following edges 1 > 1

  • TREE_MEMBERA_IN_AG(tree(T103, T104, T105)) → TREE_MEMBERA_IN_AG(T105)
    The graph contains the following edges 1 > 1

  • TREE_MEMBERA_IN_AG(tree(T222, T223, tree(T258, T259, T260))) → TREE_MEMBERA_IN_AG(T259)
    The graph contains the following edges 1 > 1

  • TREE_MEMBERA_IN_AG(tree(T222, T223, tree(T277, T278, T279))) → TREE_MEMBERA_IN_AG(T279)
    The graph contains the following edges 1 > 1

(14) YES